﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FredCK.FCKeditorV2;
using BLL.Faq;
using BLL;
using DTO;

public partial class Admin_ManageContacts : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    /// <summary>
    /// Hiển thị dvwContact cho người dùng cập nhật.
    /// </summary>       
    protected void gvwContacts_SelectedIndexChanged(object sender, EventArgs e)
    {
        dvwContact.ChangeMode(DetailsViewMode.Edit);
        dvwContact.Visible = true;
    }
    /// <summary>
    /// Xử lý khi người dùng chọn xóa
    /// </summary>        
    protected void gvwContacts_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            ImageButton btn = e.Row.Cells[11].Controls[0] as ImageButton;
            btn.OnClientClick = "if (confirm('Bạn muốn xóa thông tin liên hệ này?') == false) return false;";
        }
    }
    /// <summary>
    /// Load FCKEditor cho control txtQuestion, txtAnswer
    /// </summary>        
    protected void dvwContact_ItemCreated(object sender, EventArgs e)
    {
       //config FCKEditor
    }
    /// <summary>
    /// Load lại danh sách liên hệ sau khi cập nhật.
    /// </summary>      
    protected void dvwContact_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
    {
        gvwContacts.SelectedIndex = -1;
        gvwContacts.DataBind();        
        dvwContact.Visible = false;
    }
    /// <summary>
    /// Load lại danh sách liên hệ sau khi người dùng hủy bỏ thao tác.
    /// </summary>        
    protected void dvwContact_ItemCommand(object sender, DetailsViewCommandEventArgs e)
    {
        if (e.CommandName == "Cancel")
        {
            gvwContacts.SelectedIndex = -1;
            gvwContacts.DataBind();
        }
    }
    /// <summary>
    /// Load lại danh sách liên hệ sau khi xóa.
    /// </summary>
    protected void gvwContacts_RowDeleted(object sender, GridViewDeletedEventArgs e)
    {
        gvwContacts.SelectedIndex = -1;
        gvwContacts.DataBind();
        dvwContact.Visible = false;
    }
    /// <summary>
    /// Gởi mail trả lời liên hệ cho người dùng
    /// </summary> 
    protected void gvwContacts_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "cmdSendMail")
        {
            Contacts contact = Contacts.GetContact(int.Parse(e.CommandArgument.ToString()));

            Helpers.SendMail(contact.AddedBy, Globals.Settings.ContactForm.MailTo, contact.Email, "V/v: " + contact.Subject, contact.Answer);
            Helpers.MessageBox(this, "Đã Email trả lời cho người liên hệ thành công!");
        }
    }
    protected void dvwContact_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        //Contacts contact = BLL.Contact.Contacts.GetContact();
        //Helpers.SendMail(HttpContext.Current.User.Identity.Name, Globals.Settings.ContactForm.MailTo, contact.Email, Globals.Settings.ContactForm.MailSubject + contact.Subject, contact.Answer);
        //Helpers.MessageBox(this, "Đã mail trả lời thành công.");
    }
    protected void btDelete_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow row in gvwContacts.Rows)
        {
            bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked;
            if (isChecked)
            {
                int contactID = Convert.ToInt32(((CheckBox)row.FindControl("chkSelect")).ToolTip.Trim());
                BLL.Faq.Contacts.DeleteContact(contactID);
            }
        }
        this.DataBind();
    }
}
